package muni.ilo.service;


import java.sql.SQLException;
import java.util.List;

import muni.ilo.dao.*;
import muni.ilo.dto.ConceptosPagoDTO;
import muni.ilo.dto.ContribuyenteDTO;
import muni.ilo.dto.TipoComprobantePagoDTO;




public class PagoService {
	
	DAOFactory fabrica=DAOFactory.getDAOFactory(DAOFactory.MYSQL);

	ContribuyenteDAO_I objClienteDAO=fabrica.getContribuyenteDAO();
	
	public ContribuyenteDTO buscarContribuyentePorCodigo(String codUsu) throws Exception{
		ContribuyenteDTO cdto=null;
		cdto=objClienteDAO.buscarContribuyentePorCodigo(codUsu);
		return cdto;
	}
	

	PagoConceptos_IF objPagoConceptosDAO=fabrica.getPagoConceptosDAO();
	public List<ConceptosPagoDTO> listarConceptosPago() throws Exception {
		List<ConceptosPagoDTO> listaConceptosPago=null;
		listaConceptosPago=objPagoConceptosDAO.listaConceptosPago();
		return listaConceptosPago;
	}
	public List<TipoComprobantePagoDTO> listarTipoComprobante() throws Exception{
		List<TipoComprobantePagoDTO> listaComprobantes=null;
		listaComprobantes=objPagoConceptosDAO.listaComprobantes();
		return listaComprobantes;
	}
	public List<ConceptosPagoDTO> buscaConceptoYAgrega(String codigoConcepto, List<ConceptosPagoDTO> conceptos)throws Exception {
	
		 return objPagoConceptosDAO.buscaConceptoYAgrega(codigoConcepto,conceptos);
	
	}
	public float precioConceptuActual(String codigoConcepto)throws Exception {
		return objPagoConceptosDAO.precioConceptoActual(codigoConcepto);
	}
	public String guardaPagoInicializaSolicitud(ContribuyenteDTO objCont,List<ConceptosPagoDTO> listPagoConcs, float fltTotalReg,
																			float fltsSubtotalReg, float fltIgvReg, int intCodigoComp, String strCodigoUsuario) throws Exception,SQLException {
		return objPagoConceptosDAO.guardaPagoInicializaSolicitud( objCont, listPagoConcs,  fltTotalReg, fltsSubtotalReg,  fltIgvReg,intCodigoComp,strCodigoUsuario);
	}

	public String obtenerCodigoUsuario(String strCodUsu) throws Exception{
		// TODO Auto-generated method stub
		return objPagoConceptosDAO.obtenerCodigoUsuario( strCodUsu);
	}
}
